//============================================================================================
/**
 * @file	d_saito_st.h
 * @brief	デバッグ常駐部分
 * @author	Nozomu Saito
 */
//============================================================================================

#ifndef __D_SAITO_ST_H__
#define __D_SAITO_ST_H__

#include "common.h"
#include "field_common.h"

#define BGM_NONE	(-1)

typedef void (*USER_FUNC)(void *work);
typedef struct DEBUG_SAITO_ST_WORK_tag * DBG_SAI_ST_PTR;

extern DBG_SAI_ST_PTR DebugSaitoSt_AllocWork(FIELDSYS_WORK * fsys, const int inHeapID);
extern void DebugSaitoSt_FreeWork(DBG_SAI_ST_PTR st_ptr);
extern void DebugSaitoSt_SetFunc(DBG_SAI_ST_PTR st_ptr, USER_FUNC func);
extern void DebugSaitoSt_SetWork(DBG_SAI_ST_PTR st_ptr, void *work);
extern void *DebugSaitoSt_GetWork(DBG_SAI_ST_PTR st_ptr);
extern FIELDSYS_WORK * DebugSaitoSt_GetFieldSysPtr(DBG_SAI_ST_PTR st_ptr);
extern void DebugSaitoSt_FuncCall(TCB_PTR tcb,void* work);
extern void SaveBGMNo(DBG_SAI_ST_PTR st_ptr);
extern void DebugSetPokeSelEvent(FIELDSYS_WORK * fsys);
extern void DebugSetLinearEvent(FIELDSYS_WORK * fsys, const int inDir);
extern void DebugSetShipEvent(FIELDSYS_WORK * fsys, const int inDir);


typedef struct PAIR_POKE_DBG_tag
{
	u8 ViewMode;
	u8 Rare;
	s16 AddVal;
}PAIR_POKE_DBG;

#endif  //__D_SAITO_ST_H__